/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						        abstract_resource_file.h

	$Header: /game/abstract_resource_file.h $

	$NoKeywords: $

 ************************************************************************/
#ifndef ABSTRACT_RESOURCE_H_INCLUDED
#define ABSTRACT_RESOURCE_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <string>

#include "counted_ptr.h"
#include "streambuf_ptr.h"

// -----------------------------------------------------------------
// abstract resource file.
// -----------------------------------------------------------------
class t_abstract_resource_file : public t_counted_object
{
public:
	virtual ~t_abstract_resource_file() = 0;

	virtual t_streambuf_ptr get_stream( int offset ) = 0;
	virtual std::string get_filename() = 0;
};

inline t_abstract_resource_file::~t_abstract_resource_file()
{
}

typedef t_counted_ptr<t_abstract_resource_file> t_abstract_resource_file_ptr;

#endif